/*标题: 马虎的算式
  3 
  4 
  5     小明是个急性子，上小学的时候经常把老师写在黑板上的题目抄错了。
  6 
  7     有一次，老师出的题目是：36 x 495 = ?
  8 
  9     他却给抄成了：396 x 45 = ?
 10 
 11     但结果却很戏剧性，他的答案竟然是对的！！
 12 
 13     因为 36 * 495 = 396 * 45 = 17820
 14 
 15     类似这样的巧合情况可能还有很多，比如：27 * 594 = 297 * 54
 16 
 17     假设 a b c d e 代表1~9不同的5个数字（注意是各不相同的数字，且不含0）
 18 
 19     能满足形如： ab * cde = adb * ce 这样的算式一共有多少种呢？
 20 
 21 
 22 请你利用计算机的优势寻找所有的可能，并回答不同算式的种类数。
 23 
 24 满足乘法交换律的算式计为不同的种类，所以答案肯定是个偶数。(190)
 25 
 26 
 27 答案直接通过浏览器提交。
 28 注意：只提交一个表示最终统计种类数的数字，不要提交解答过程或其它多余的内容。

 * */
#include <stdio.h>

int main(void) {
	int count;
	int a, b, c, d, e;
	int i, j;

	count = 0;
	for(i=10; i<=99; i++) {
		for(j=100; j<=999; j++) {
			int ti = i;
			int tj = j;
			
			a = ti / 10;
			b = ti % 10;
			c = tj / 100;
			d = tj /10 % 10;
			e = tj % 10;

			if(a==0 || b==0 || c==0 || d==0 || e==0)
				continue;

			if(a==b || a==c || a==d || a==e ||
				b==c || b==d || b==e || c==d || c==e || d==e
			)
				continue;

			int newi = a*100 + d*10 + b;
			int newj = c*10 + e;

			if(i*j == newi*newj) {
				printf("%d * %d = %d * %d\n", i, j, newi, newj);
				count++;
			}
		}
	}
	printf("Count: %d\n", count);

	return 0;
}
